function versionInfo = getProjectConfigVersion()
% getProjectConfigVersion - 获取项目配置版本信息
%
% 功能说明:
%   返回DO-178 MBD平台项目配置的版本信息，包括版本号、构建日期和Git commit hash。
%   此文件将来可以加密成p文件以防止用户修改版本信息。
%
% 输出参数:
%   versionInfo - 结构体，包含以下字段：
%       .version      - 字符串，语义化版本号 (major.minor.patch)
%       .buildDate    - 字符串，构建日期 (ISO 8601格式: YYYY-MM-DD)
%       .commitHash   - 字符串，Git commit hash (短格式，7位)
%
% 使用示例:
%   info = getProjectConfigVersion();
%   fprintf('项目配置版本: %s\n', info.version);
%   fprintf('构建日期: %s\n', info.buildDate);
%   fprintf('Commit: %s\n', info.commitHash);
%
% 注意事项:
%   - 版本号遵循语义化版本规范 (Semantic Versioning 2.0.0)
%   - 此文件发布时将被加密为p文件，防止用户篡改版本信息
%   - 版本信息由开发团队在构建时更新
%   - 项目配置包括: 目录结构、命名规范、检查规则、模板等
%
% 作者: DO-178 MBD Platform Team
% 创建日期: 2025-10-02
% 最后修改: 2025-10-02

% =========================================================================
% 版本信息定义区域
% =========================================================================
% 注意: 发布前请更新以下版本信息

% 语义化版本号 (major.minor.patch)
% major: 主版本号，不兼容的配置结构修改
% minor: 次版本号，向下兼容的配置功能新增
% patch: 修订号，向下兼容的配置修正
VERSION = '0.2.0';

% 构建日期 (ISO 8601格式: YYYY-MM-DD)
BUILD_DATE = '2025-11-02';

% Git commit hash (短格式，7位)
% 在CI/CD构建时自动替换
COMMIT_HASH = '1c21f00';

% =========================================================================
% 返回版本信息结构体
% =========================================================================

versionInfo = struct(...
    'version', VERSION, ...
    'buildDate', BUILD_DATE, ...
    'commitHash', COMMIT_HASH);

end

